package designPatterns.behaviorMode.observer;

import java.util.ArrayList;
//简而言之，观察者模式=发布者+注册者。
//
//        观察者模式用来对GUI中的动作做侦听。
// Swing GUI的例子就表明了动作侦听是怎样实现观察者模式的。
//        下面是一个猎头的典型例子。
// 这个图中有2个角色-猎头和求职者。求职者先在猎头处注册，
// 当有新的工作机会时猎头就会通知求职者。

public class Main {
    public static void main(String[] args) {
        HeadHunter hh = new HeadHunter();
        hh.registerObserver(new JobSeeker("Mike"));
        hh.registerObserver(new JobSeeker("Chris"));
        hh.registerObserver(new JobSeeker("Jeff"));

        //每次添加一个个job，所有找工作人都可以得到通知。
        hh.addJob("Google Job");
        hh.addJob("Yahoo Job");
    }
}
